<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link href="../Styles/style.css" rel="stylesheet" type="text/css"/>


</head>

<body>
<div class="article-body">
    <div class="article-intro">

        <h1>Java 数据结构</h1>
        <p>Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类：</p>
        <ul>
            <li>
                枚举（Enumeration）</li>
            <li>
                位集合（BitSet）</li>
            <li>
                向量（Vector）</li>
            <li>
                栈（Stack）</li>
            <li>
                字典（Dictionary）</li>
            <li>
                哈希表（Hashtable）</li>
            <li>
                属性（Properties）</li>
        </ul>
        <p>以上这些类是传统遗留的，在Java2中引入了一种新的框架-集合框架(Collection)，我们后面再讨论。</p>
        <hr>
        <h2>
            枚举（Enumeration）</h2>

        <p>枚举（Enumeration）接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广。 枚举（The Enumeration）接口定义了一种从数据结构中取回连续元素的方式。
        </p><p>例如，枚举定义了一个叫nextElement 的方法，该方法用来得到一个包含多元素的数据结构的下一个元素。
    </p><p>关于枚举接口的更多信息，<a href="/java/java-enumeration-interface.html" target="_blank">请参见枚举（Enumeration）</a>。</p>
        <hr>
        <h2>
            位集合（BitSet）</h2>

        <p>
            位集合类实现了一组可以单独设置和清除的位或标志。</p><p>
        该类在处理一组布尔值的时候非常有用，你只需要给每个值赋值一"位"，然后对位进行适当的设置或清除，就可以对布尔值进行操作了。</p><p>
        关于该类的更多信息，<a href="/java/java-bitset-class.html" target="_blank">请参见位集合（BitSet）</a>。</p>
        <hr>
        <h2>
            向量（Vector）</h2>


        <p>向量（Vector）类和传统数组非常相似，但是Vector的大小能根据需要动态的变化。</p><p>
        和数组一样，Vector对象的元素也能通过索引访问。</p><p>
        使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小，它的大小会根据需要动态的变化。</p><p>
        关于该类的更多信息，<a href="/java/java-vector-class.html" target="_blank">请参见向量(Vector)</a></p>
        <hr>
        <h2>
            栈（Stack）</h2>

        <p>栈（Stack）实现了一个后进先出（LIFO）的数据结构。</p><p>
        你可以把栈理解为对象的垂直分布的栈，当你添加一个新元素时，就将新元素放在其他元素的顶部。</p><p>
        当你从栈中取元素的时候，就从栈顶取一个元素。换句话说，最后进栈的元素最先被取出。</p><p>
        关于该类的更多信息，<a href="/java/java-stack-class.html" target="_blank">请参见栈（Stack）</a>。</p>
        <hr>
        <h2>
            字典（Dictionary）</h2>

        <p>字典（Dictionary） 类是一个抽象类，它定义了键映射到值的数据结构。</p><p>
        当你想要通过特定的键而不是整数索引来访问数据的时候，这时候应该使用Dictionary。</p><p>
        由于Dictionary类是抽象类，所以它只提供了键映射到值的数据结构，而没有提供特定的实现。</p><p>
        关于该类的更多信息，<a href="/java/java-dictionary-class.html" target="_blank">请参见字典（ Dictionary）</a>。</p>
        <hr>
        <h2>
            哈希表（Hashtable）</h2>

        <p>Hashtable类提供了一种在用户定义键结构的基础上来组织数据的手段。</p><p>
        例如，在地址列表的哈希表中，你可以根据邮政编码作为键来存储和排序数据，而不是通过人名。</p><p>
        哈希表键的具体含义完全取决于哈希表的使用情景和它包含的数据。</p><p>
        关于该类的更多信息，<a href="/java/java-hashTable-class.html" target="_blank">请参见哈希表（HashTable）</a>。</p>
        <hr>
        <h2>
            属性（Properties）</h2>

        <p>Properties 继承于 Hashtable.Properties 类表示了一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。</p><p>
        Properties 类被许多Java类使用。例如，在获取环境变量时它就作为System.getProperties()方法的返回值。</p><p>
        关于该类的更多信息，<a href="/java/java-properties-class.html" target="_blank">请参见属性（Properties）</a>。</p>

    </div>
</div>
</body>
</html>
